<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
       /*  1.js是什么
          javascript (js)是一种具有函数优先的轻量级，解释型或即时编译型的编程语言。

          2.js数据类型有哪几种，哪些是简单类型变量，哪些是复杂类型变量，他们有什么区别。
           js分为两大数据类型：-原始数据类型： -对象数据类型
           简单数据类型：字符串（string），数字类型（number），布尔类型（boolean），空值（null），未定义类型（undefined）,Symbol(唯一)。
           复杂数据类型：对象（object）数组（array）函数（function）
           区别：简单数据类型，在存储时，变量存储的是值的本身，复杂数据类型在存储时，变量中存储的仅仅是地址(引用数据类型)

          3.用代码来表示具体如何定义js的各种类型变量。
          <script>
            字符串string
            var a="string";
           数字类型number
            var a=123456;
           布尔boolean
            var a=true;
            var b=false;
           未定义underfined
            var a;
           空值null
           var a=null;
           数组array
           var a=["1","2","3"];
           函数function
           function sum(a,b){return a+b;}
        <script/>

          4.undefined和Null的区别
            undefined:变量只声明未赋值
            null：需要主动设置值为null，因为变量任何情况下值都不为null

          5.script标签写在页面头部和底部，有什么区别
           因为浏览器是从上往下渲染的，js写在头部会先进行加载执行。
           js写在底部会等到页面加载完成后加载执行js。
           一般会将js放在页面底部，让js最后加载引入，从而提升页面加载速度
           
          6.如何保证在页面基本结构和样式加载后，再执行我们的js脚本。
           最后执行js有三种方式
           (1)在script标签中设置defer属性，立即下载延迟执行。（只适用外部脚本文件）
           (2)在script标签中设置async属性，页面不会等待脚本的下载和执行。
           (3)将script样式写在页面底部，因浏览器从上往下渲染，所以会最后加载js文件

          7.如何判断一个变量属于哪种变量类型（string number null boolean undefined object array function）
           先对变量的定义赋值然后通过
           console.log()
           输入变量在控制台显示输出哪种数据类型
           或者将鼠标光标移动到变量上也会显示对应的数据类型。

          8.js注释写法有几种，有什么区别。
            // 单行注释 
            /**杠 多行注释
            区别：一个是对单行文本进行注释，一个是对多行文本进行注释。

          9.java script引入页面有几种形式
            三种 
             页内：放在<head>或者<body>标签
             页外：通过<script src="./"> <script>引入
             行内：尽量不用，不安全

          10.var的意义何在
            var用于声明变量，告诉解析器需要创建一个变量进行赋值。如果不声明将报错。

          11.已知数a和b，由键盘输入ab的值，交换他们的值，并输出。
          提示，获取用户输入信息，可以使用var user_input=prompt("请输入数字");
          var a=prompt("请输入数字a的值")；
          var b=prompt("请输入数字b的值")；
           c=a;
           a=b;
           b=c;
           console.log(a,b);
        */
          
    </script>
    
</body>
</html>